1. Technical Field
This invention generally relates to data processing, and more specifically relates to resource management in a logically partitioned computer system.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
The combination of hardware and software on a particular computer system defines a computing environment. Different hardware platforms and different operating systems thus provide different computing environments. In recent years, engineers have recognized that it is possible to provide different computing environments on the same physical computer system by logically partitioning the computer system resources to different computing environments. The eServer iSeries computer system developed by IBM is an example of a computer system that supports logical partitioning. If logical partitioning on an iSeries computer system is desired, partition manager code (referred to as a “hypervisor” in iSeries terminology) is installed that allows defining different computing environments on the same platform. Once the partition manager is installed, logical partitions may be created that define different computing environments. The partition manager manages the logical partitions to assure they can share needed resources in the computer system while maintaining the separate computing environments defined by the logical partitions.
A computer system that includes multiple logical partitions typically shares resources between the logical partitions. For example, a computer system with two logical partitions and a single CPU could be defined that allocates 50% of the CPU to each partition, that allocates 33% of the memory to the first partition and 67% of the memory to the second partition, and that allocates two different I/O slots to the two logical partitions, one per partition. Once logical partitions are defined and shared resources are allocated to the logical partitions, each logical partition acts as a separate computer system. Thus, in the example above that has a single computer system with two logical partitions, the two logical partitions will appear for all practical purposes to be two separate and distinct computer systems.
Recent developments in the computer industry allow a customer to purchase additional resources on demand. In this scenario, a customer purchases a computer system that may include one or more resources that are initially disabled. There are several different ways a manufacturer may then allow a customer to use these additional resources. If the customer desires to permanently upgrade their system to include additional resources, the customer can purchase a software key from the system manufacturer. Entering the software key results in the resource(s) specified in the software key being permanently enabled, as if the system were purchased with these resources enabled. This is known in the art as “permanent capacity upgrade on demand.” If the customer does not need permanent use of additional resources, the customer may request an enablement code from the manufacturer to enable these resources for a specified resource-time. This is known in the art as “temporary capacity on demand.” The related application “METHOD TO PROVIDE ON-DEMAND RESOURCE ACCESS”, Ser. No. 10/406,652 filed on Apr. 3, 2003, discloses a system and method for providing temporary capacity on demand. One way to provide temporary capacity on demand is to enable resources for a specified resource-time, and to disable the resources once the specified resource-time has expired.
Another way to provide temporary access to resources is known as “metered capacity on demand”, and is the subject of the related application “APPARATUS AND METHOD FOR PROVIDING METERED CAPACITY OF COMPUTER RESOURCES”, Ser. No. 10/616,676 filed on Jul. 10, 2003. When metered capacity on demand is used, a temporary resource is enabled, and only actual use of the resource is billed to the customer.
When either temporary capacity on demand or metered capacity on demand are used, the customer typically enters into a contractual agreement with the manufacturer, who monitors the system to assure the customer is properly billed for the temporary or metered capacity on demand. Another way to provide temporary access to computer system resources is known as “activate immediate”, where a customer purchases (or is given on a “trial” basis) an enablement code that includes a specified resource-time, but the customer does not sign a contract and the manufacturer does not monitor the system. Because the manufacturer does not monitor the system, the system is vulnerable to potential tampering by the customer. In an activate immediate scenario, the customer purchases an enablement code for a specified resource-time. The resources are then enabled for the specified resource-time. When the specified resource-time expires, the resources should be recovered (i.e., disabled). However, there are limitations to what the system can do to recover temporary resources due to system integrity and legal considerations. In other words, it would be unacceptable to force recovery of temporary resources because doing so may prevent the computer system from running the customer's workload. This means that certain actions by the customer could prevent the recovery of resources when the specified resource-time expires. For example, if the customer changes the minimum resource specification to a level that includes one or more of the temporary resources, the system may be unsuccessful at recovering all of the temporary resources. In this case, the customer could enjoy permanent enablement of temporary resources without paying the manufacturer for those resources. Without a means to provide temporary resources that are activated immediately on demand that assures these resources may be recovered when the specified resource-time expires, the computer industry will continue to suffer from potential loss of revenue due to abuse by customers in continuing use of temporary resources after the specified resource-time expires.